The present invention relates generally to high capacity conferencing systems, and particularly to a method and system for balancing the load on processors based upon central processing unit (CPU) utilization information.
Efficient and cost-effective mechanisms for individuals desirous of engaging in discussions are telephone, video and data conferencing systems. Popular high capacity conferencing systems known to the art provide data transfer and voice communication across a voice over IP (VoIP) network infrastructure. A VoIP conferencing network infrastructure typically includes a multipoint conferencing unit that maintains all the audio, video, data and control streams between participants in a conference.
A multipoint conferencing unit may be decomposed into two separate logical entities: a Multipoint Controller (MC) and multiple Media Processors (MP). The multipoint controller is the conference controller and handles the requests from terminals based on the conferencing resources available at the multipoint conferencing unit. Media processors handle the media exchange including the processing, mixing and switching of audio/video/data among the terminals on a VoIP network. In this fashion, the multipoint controller requests support and leverages the resources of specific media processors to process audio/video and data to effectuate communication between terminals of the network.
As a result of increasing performance capability of personal computers, most media processor units are leaving the predictable hardware platform to become software-based media processors executed on standard personal computer platforms. A problem associated with VoIP networks utilizing multipoint controller support of software-based media processors lies in a lack of overload protection. Current multipoint controller support of software-based media processors does not include an efficient resource management mechanism. In conferencing systems known to the art, multipoint controllers only receive information concerning the number of conferences and participants in each media processor.
Due to a lack of a resource management mechanism, multipoint controllers will expand conferences on the media processors by trying to add a new participant to a conference until they receive an error code of “insufficient resources”. When the media processors report an “insufficient resources” error code, the media processors are already overloaded and additional conference participants cannot be added. This does not allow the multipoint controller to take preventative actions when the media processor is running low on CPU resources. Complex corrective actions after receipt of the error code, initiated and executed by the multipoint controller, is the only response.
Consequently, it would be advantageous if a multipoint controller would know the CPU utilization information of appliances in which the processors are operating to balance the load across a plurality of processors.